package cn.czh0123.service;

import cn.czh0123.domain.Wallpaper;
import cn.czh0123.dto.WallpaperDTO;
import cn.czh0123.query.WallpaperCategoryQuery;
import cn.czh0123.query.WallpaperQuery;
import cn.czh0123.vo.WallpaperVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;


/**
 * 壁纸服务接口
 */
public interface IWallpaperService extends IService<Wallpaper>{
    /**
    * 分页
    * @param qo 分页参数
    * @return   壁纸分页列表
    */
    IPage<Wallpaper> queryPage(WallpaperQuery qo);

    /**
     * 获取轮播图
     * @return 轮播图分页列表
     */
    List<Wallpaper> queryCarousel();

    /**
     * 获取壁纸详情
     * @param id 壁纸id
     * @return 壁纸详情
     */
    WallpaperVO getWallpaperDetail(Long id);

    /**
     * 保存壁纸详情
     * @param wallpaperDTO 壁纸详情
     */
    void saveWallpaper(WallpaperDTO wallpaperDTO);

    /**
     * 获取壁纸分类
     * @param query 壁纸分类查询参数
     * @return 壁纸分类列表
     */
    IPage<Map<String, Object>> getCategory(WallpaperCategoryQuery query);
}
